A mobile application (also referred to as an app) is a type of application software designed to run on a mobile device, such as a smartphone or a tablet computer. Such an application may be developed for mobile devices and distributed in an application package containing the elements used to run the application, such as, program code, resources, certificates, and/or a manifest.
In some cases, a mobile application may be provided with application code including a primary application module defining a primary functionality(ies) of the application and a secondary application module defining a secondary functionality(ies) of the application. The primary functionality may be a functionality desired by the end user, such as a game, a media source, a browser, etc. The secondary functionality (e.g., advertising) may be independent of the primary functionality, and may be added to provide revenue to the application developer. A mobile application developer may independently develop the primary application module to provide a service/functionality that consumers may desire, and the mobile application developer may add the secondary application module (e.g., to provide advertisements) using third party code provided, for example, in a Software Development Kit (SDK). Use of such third party code may thus reduce a cost to develop the application.
When code from a third party is used to provide such a secondary application module, however, the application developer may not be fully aware of all aspects of operation of the secondary application module. When an application including such third party code is installed on a mobile device, for example, the third party code may cause unintended resource consumption at the mobile device, and/or may allow unintended access to and/or snooping of information at the mobile device by the third party.